package com.jilijili.pojo.bo;

import com.jilijili.pojo.Vlog;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import org.springframework.beans.BeanUtils;
import org.springframework.util.ObjectUtils;

import java.io.Serializable;
import java.util.Date;

/**
 * 短视频表
 *
 * @TableName vlog
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
@Accessors(chain = true)
public class VlogBo implements Serializable {
    /**
     *
     */
    private String id;

    /**
     * 对应用户表id，vlog视频发布者
     */
    private String vlogerId;

    /**
     * 视频播放地址
     */

    private String url;

    /**
     * 视频封面
     */
//    @NotBlank(message = "视频封面不可为空!")
    private String cover;

    /**
     * 视频标题，可以为空
     */
//    @NotBlank(message = "视频标题不可为空!")
//    @Length(min = 1,max = 36,message = "标题命名过长或者过短")
    private String title;

    /**
     * 视频width
     */
//    @Digits(message = "视频宽度不可为空!", integer = 1, fraction = 3080)
    private Integer width;

    /**
     * 视频height
     */
//    @Digits (message = "视频高度不可为空!", integer = 1, fraction = 3080)
    private Integer height;

    /**
     * 点赞总数
     */

    @Builder.Default
    private Integer likeCounts = 0;

    /**
     * 评论总数
     */
    @Builder.Default
    private Integer commentsCounts = 0;

    /**
     * 是否私密，用户可以设置私密，如此可以不公开给比人看
     */
    @Builder.Default
    private Integer isPrivate = 0;

    /**
     * 创建时间 创建时间
     */

    private Date createdTime;

    /**
     * 更新时间 更新时间
     */
    private Date updatedTime;


    public static VlogBo convertVlogBo(final Vlog vlog) {
        VlogBo vlogBo = new VlogBo();
        if (!ObjectUtils.isEmpty(vlog)) {
            BeanUtils.copyProperties(vlog, vlogBo);
        }
        return vlogBo;

    }

    public static Vlog convertVlog(final VlogBo vlogBo) {
        Vlog vlog = new Vlog();
        if (!ObjectUtils.isEmpty(vlogBo)) {
            BeanUtils.copyProperties(vlogBo, vlog);
        }
        return vlog;
    }

    private static final long serialVersionUID = 1L;
}